Technical Field
The present disclosure relates to storage systems and, more specifically, to efficiently updating metadata in a storage system.
Background Information
A plurality of storage systems may be interconnected as a cluster and configured to provide storage service relating to the organization of storage containers stored on storage devices coupled to the systems. The storage system cluster may be further configured to operate according to a client/server model of information delivery to thereby allow one or more clients (hosts) to access the storage containers, which may be embodied as files or logical units (LUNs). Each storage container may be implemented as a set of data structures, such as data blocks that store data for the storage container and metadata blocks that describe the data of the storage container. For example, the metadata may describe, e.g., identify, locations of the data on storage devices in the cluster. The storage systems may maintain the metadata describing the locations of the storage container data throughout the cluster in a data structure.
Assume an input/output (I/O) request, such as a write request having new data, is issued by a host to store data or change existing data of a storage container, such as a LUN. When processing the request, the storage system may create new metadata identifying the location of the new data and insert the new metadata into the data structure. As such, existing metadata stored in the data structure may be updated (i.e., replaced) with new metadata and stored on the storage devices. However, replacement of existing metadata with new metadata may involve many read and write operations to the storage devices, which may increase write amplification and consume processing resources of the storage system as well as impact latency of I/O request issued by the host.